package com.zhonghui.wms.domain.vo;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.zhonghui.common.annotation.Excel;
import com.zhonghui.common.core.domain.BaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

import java.util.Date;

/**
 * 智能仓储WMS-盘点信息对象 wms_inventory_information
 *
 * @author zhonghui
 * @date 2022-05-27
 */
@ApiModel("智能仓储WMS-盘点信息对象出参")
public class WmsInventoryInformationVo extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 盘点信息ID */
    @ApiModelProperty("编号")
    private Long id;

    /** 库存明细ID */
    @Excel(name = "库存明细ID")
    @ApiModelProperty("库存明细ID")
    private Long inventoryDetailsId;

    /** 单据号 */
    @Excel(name = "单据号")
    @ApiModelProperty("单据号")
    private String documentId;

    /** 盘点类型 */
    @Excel(name = "盘点类型")
    @ApiModelProperty("盘点类型")
    private Long inventoryType;

    /** 库存月份 */
    @Excel(name = "库存月份")
    @ApiModelProperty("库存月份")
    private String inventoryMonth;

    /** 盘点日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "盘点日期", width = 30, dateFormat = "yyyy-MM-dd")
    @ApiModelProperty("盘点日期")
    private Date inventoryDate;

    /** 负责人 */
    @Excel(name = "负责人")
    @ApiModelProperty("负责人")
    private Long head;

    /** 实际库存 */
    @Excel(name = "实际库存")
    @ApiModelProperty("实际库存")
    private Long physicalInventory;

    /** 原因 */
    @Excel(name = "原因")
    @ApiModelProperty("原因")
    private String reason;

    /** 物料*/
    @Excel(name = "物料")
    @ApiModelProperty("物料")
    private String material;

    /** 仓库 */
    @Excel(name = "仓库")
    @ApiModelProperty("仓库")
    private String warehouse;

    /** 库区 */
    @Excel(name = "库区")
    @ApiModelProperty("库区")
    private String warehouseArea;

    /** 库位ID */
    @Excel(name = "库位ID")
    @ApiModelProperty("库位ID")
    private String warehouseSeat;

    /** 现有库存 */
    @Excel(name = "现有库存")
    @ApiModelProperty("现有库存")
    private Long existingInventory;

    /** 生产批号 */
    @Excel(name = "生产批号")
    @ApiModelProperty("生产批号")
    private String batchNumber;

    public void setId(Long id)
    {
        this.id = id;
    }

    public Long getId()
    {
        return id;
    }
    public void setInventoryDetailsId(Long inventoryDetailsId)
    {
        this.inventoryDetailsId = inventoryDetailsId;
    }

    public Long getInventoryDetailsId()
    {
        return inventoryDetailsId;
    }
    public void setDocumentId(String documentId)
    {
        this.documentId = documentId;
    }

    public String getDocumentId()
    {
        return documentId;
    }
    public void setInventoryType(Long inventoryType)
    {
        this.inventoryType = inventoryType;
    }

    public Long getInventoryType()
    {
        return inventoryType;
    }
    public void setInventoryMonth(String inventoryMonth)
    {
        this.inventoryMonth = inventoryMonth;
    }

    public String getInventoryMonth()
    {
        return inventoryMonth;
    }
    public void setInventoryDate(Date inventoryDate)
    {
        this.inventoryDate = inventoryDate;
    }

    public Date getInventoryDate()
    {
        return inventoryDate;
    }

    public Long getHead() {
        return head;
    }

    public void setHead(Long head) {
        this.head = head;
    }

    public void setPhysicalInventory(Long physicalInventory)
    {
        this.physicalInventory = physicalInventory;
    }

    public Long getPhysicalInventory()
    {
        return physicalInventory;
    }
    public void setReason(String reason)
    {
        this.reason = reason;
    }

    public String getReason()
    {
        return reason;
    }
    public void setMaterial(String material) {this.material = material;}

    public String getMaterial() {return material;}
    public void setWarehouse(String warehouse) {this.warehouse = warehouse;}

    public String getWarehouse() {return warehouse;}
    public void setWarehouseArea(String warehouseArea) {this.warehouseArea = warehouseArea;}

    public String getWarehouseArea() {return warehouseArea;}
    public void setWarehouseSeat(String warehouseSeat) {this.warehouseSeat = warehouseSeat;}

    public String getWarehouseSeat() {return warehouseSeat;}
    public void setBatchNumber(String batchNumber) {this.batchNumber = batchNumber;}

    public String getBatchNumber() {return batchNumber;}
    public void setExistingInventory(Long existingInventory) {this.existingInventory = existingInventory;}

    public Long getExistingInventory() {return existingInventory;}

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("inventoryDetailsId", getInventoryDetailsId())
            .append("documentId", getDocumentId())
            .append("inventoryType", getInventoryType())
            .append("inventoryMonth", getInventoryMonth())
            .append("inventoryDate", getInventoryDate())
            .append("head", getHead())
            .append("physicalInventory", getPhysicalInventory())
            .append("reason", getReason())
            .append("material", getMaterial())
            .append("warehouse", getWarehouse())
            .append("warehouseArea", getWarehouseArea())
            .append("warehouseSeat", getWarehouseSeat())
            .append("batchNumber", getBatchNumber())
            .append("existingInventory", getExistingInventory())
            .toString();
    }
}
